// 打包ES module所用的配置文件
import { defineConfig } from "vite"
import vue from "@vitejs/plugin-vue"
import vueJsx from "@vitejs/plugin-vue-jsx"
import { resolve } from "path"

export default defineConfig({
	plugins: [vue(), vueJsx()],
	resolve: {
		alias: {
			"@": resolve(__dirname, "src"),
		},
	},
	publicDir: "empty",
	build: {
		outDir: "dist/es", // 输出目录
		lib: {
			// 配置ES包
			entry: resolve(__dirname, "src/bundle.ts"), // 打包的配置入口文件，精确定位打包入口文件
			name: "chenUI", // 包名-仅仅名称
			fileName: "chen-ui", // 打包后文件名-小写横杠，用户导入使用
			formats: ["es"], // 打包的格式
		},
		// rollup相关配置
		rollupOptions: {
			// 排除某些模块，在package.json中找，只需要写为依赖，不需要打包到chenUI组件库
			external: [
				"vue",
				"@fortawesome/fontawesome-svg-core",
				"@fortawesome/free-solid-svg-icons",
				"@fortawesome/vue-fontawesome",
				"animate.css",
				"vue-router",
			],
		},
	},
})
